'use strict';
require('./index.css')
require('page/common/nav-simple/index.js')
var _mm = require('util/mm.js')
var _user = require('service/user-service.js')

//表单的错误信息
var fromError = {
    show : function(errMsg){
        $('.err-item').show().find('.error-msg').text(errMsg)
    },
    hide : function(){
        $('.err-item').hide().find('.error-msg').text('')
    }
}
//注册页的逻辑部分
var page = {
    init : function(){
        this.bindEvent()
    },
    bindEvent : function(){
        var _this = this;
        //验证用户名是否存在
        $('#username').blur(function(){
            var username = $.trim($('#username').val())
            if(!username){
                $('.err-item').show().find('.error-msg').text('用户名不能为空')
            }else{
                //异步验证用户名是否存在
            _user.checkUsername(username,function(res){
                fromError.hide()
            },function(errMsg){
                fromError.show(errMsg)
            })
            }

            
        })
        //注册按钮的点击
        $('#submit').click(function(){
            _this.submit()
        })
        $('.user-content').keyup(function(e){
            if(e.keyCode===13){
                _this.submit()
            }
        })
    },
    //提交表单
    submit : function(){
        var formData = {
            username         : $.trim($('#username').val()),
            password         : $.trim($('#password').val()),
            passwordConfirm  : $.trim($('#password-confirm').val()),
            phone            : $.trim($('#phone').val()),
            email            : $.trim($('#email').val()),
            question         : $.trim($('#question').val()),
            answer           : $.trim($('#answer').val())
        }
        //validateResult 表单验证结果
         var validateResult = this.formValidate(formData);
        //验证成功
        if(validateResult.status){
            //提交
            _user.register(formData,function(){
                window.location.href = './result.html?type=register'
            },function(errMsg){
                fromError.show(errMsg)
            })
        }
        //验证失败
        else{
                fromError.show(validateResult.msg)
        }
    },
    //表单字符的验证
    formValidate : function(formData){
        var result = {
            status : false,
            msg    : ''
        }   
        if(!_mm.validate(formData.username,'require')){
            result.msg = '用户名不能为空'
            return result
        }
        if(!_mm.validate(formData.password,'require')){
            result.msg = '密码不能为空'
            return result
        }
        if(formData.password.length<6){
            result.msg = '密码长度不能少于6位'
            return result
        }
        if(formData.password !== formData.passwordConfirm){
            result.msg = '两次密码不一致'
            return result
        }
        if(!_mm.validate(formData.phone,'phone')){
            result.msg = '手机格式不正确'
            return result
        }
        if(!_mm.validate(formData.email,'email')){
            result.msg = '邮箱格式不正确'
            return result
        }
        if(!_mm.validate(formData.question,'require')){
            result.msg = '密码提示问题不能为空'
            return result
        }
        if(!_mm.validate(formData.answer,'require')){
            result.msg = '密码提示问题答案不能为空'
            return result
        }
        //通过验证 返回正确提示
        result.status = true ;
        result.msg = '验证通过';
        return result;

    }

}

$(function(){
    page.init()
})